package com.cskaoyan._03innerclazz._02member._01introduction;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/13 11:04
 **/
/*
成员内部类:
    位置: 定义在成员位置
    语法: 权限修饰符 class  类名{ 类体}

1.权限修饰符
    4种都可以
2.成员特点
    不能有static的声明
    可以有全局常量
3.继承和实现
    可以继承和实现外部的类或者接口
    还可以继承成员内部类

 */
public class Demo {
    public static void main(String[] args) {

    }
}

// 外部类
class Outer{
    // 成员位置
    // 成员内部类
    class Inner extends Inner2{
        // 全局常量
        static final String s = "abc";
        // 成员变量
        int a;

        // 成员方法
        void innerMethod() {

        }

        // 静态成员变量
        // Inner classes cannot have static declarations
        // static int b ;
        // 静态成员方法
        //static void innerStaticMethod() {
        //
        //}
        // 构造方法

        public Inner(int a) {
            this.a = a;
        }

        // 构造代码块
        {

        }

        // 静态代码块
        // static {}
    }

    // 成员位置
    // 成员内部类
    class Inner2 extends Father implements IA{}

}


class Father{

}

interface IA{

}